/**
* @software         [JiJinCMS]
* @author           [上海集锦信息科技有限公司]
* @website          [http://www.jijinweb.com]
* @email            [sunny@jijinweb.com]
**/
//ajax提交表单
function save_form(obj,success_callback,error_callback){
    var action=$(obj).attr("action");
    var method=$(obj).attr("method");
    var data=$(obj).serializeArray();
    //找到当前表单下的submit按钮，修改状态，并且把文字改为提交中
    $(obj).find("button[type='submit']").attr("disabled",true);
    var old_button_val=$(obj).find("button[type='submit']").html();
    $(obj).find("button[type='submit']").html("提交中...");
    //
    var index=layer.load(0,{time:100000});//加载气泡提示
    $.ajax({
        url:action,
        type:method,
        async:true,
        data:data,
        dataType:'json',
        success:function(result){
            var code=result.code;
            var msg=result.msg;
            var returndata=result.data;
            var url=result.url;
            if(code){
                if(success_callback){
                    success_callback(msg,returndata,url);//回调函数
                }else{
                    layer.msg(msg,{time:500},function(){
                        if(url){
                            window.location.href=url; 
                        }else{
                            window.location.href=document.referrer; 
                        }
                    });                    
                }
            }else{
                if(error_callback){
                    error_callback(msg,returndata,url);//回调函数
                }else{
                    parent.layer.alert(msg);
                }                
				$(obj).find("button[type='submit']").attr("disabled",false);
				$(obj).find("button[type='submit']").html(old_button_val);
            }
        },
        error:function(xhr,textStatus){
            alert("程序出错，请联系管理员");
        },
        complete:function(){
            layer.close(index);//关闭加载气泡提示
			//5s以后再给消失，因为在页面跳转中浏览器可能需要等待
			setTimeout(function(){
				$(obj).find("button[type='submit']").attr("disabled",false);
				$(obj).find("button[type='submit']").html(old_button_val);
			},2000)
        }
    })
    return false;
}
function save_form2(obj){
    save_form(obj,function(data){
        parent.location.reload();
    }); 
    return false;
}  
//ajax删除数据
//id可以为数字或url，程序会自动判断  callback是回调函数，可不写。如果不写的话删除成功会刷新返回返回的url或者当前页面。
function ajax_del(ajax_url,success_callback,error_callback){
    var index=layer.load(0,{time:100000});//加载气泡提示
    $.ajax({
        url:ajax_url,
        type:'get',
        async:true,
        dataType:'json',
        success:function(result){
            var code=result.code;
            var msg=result.msg;
            var returndata=result.data;
            var url=result.url;
            if(code){
                if(success_callback){
                    success_callback(msg,returndata,url);//回调函数
                }else{
                    if(url){
                        window.location.href=url; 
                    }else{
                        location.reload();
                    }    
                }
            }else{
                if(error_callback){
                    error_callback(msg,returndata,url);//回调函数
                }else{
                    layer.alert(msg);
                }                
                 
            }
        },
        error:function(xhr,textStatus){
            alert("程序出错，请联系管理员");
            layer.close(index);//关闭加载气泡提示
        },
        complete:function(){
            layer.close(index);//关闭加载气泡提示
        }
    })
}
//ajax del
$(function(){
    $(".ajax_del").click(function(){
        var url=$(this).attr("href");        
        var msg=$(this).data("msg");
        if(!msg){
            msg="您确定要删除吗？";
        }  
        layer.confirm(msg,function(){     
            ajax_del(url);
        });   
        return false;
    })  
	$(".goback,.back,.cancel").click(function(){
		goback();
	})
	//tips层
	$(".tips").click(function(){
		var title=$(this).attr("title");
        layer.tips(title, this, {
          tips: [1],
          time: 10000
        });
	})
    //全选
    $(".checkall").click(function(){
        var y=$(this).val();//alert(y);
        if(y==0){
            $(".chekboxs").prop("checked", true)
            y=1;
        }else if(y==1){
            $(".chekboxs").prop("checked", false)
            y=0;
        }
        $(".checkall").val(y);
        //disabled不让选中（哪怕选中也不会提交数据，这里主要是增加用户体验）
        $(":disabled").prop("checked", false)
    });
})

//返回上个页面
function goback(url){
    if(url){
        window.location.href=url; 
    }else{
        window.location.href=document.referrer; 
    }
}
//取消并返回上个页面
function cancel(url){
	if(url){
		window.location.href=url; 
	}else{
		window.location.href=document.referrer; 
	}
}

//layer iframe插件
$(function(){
    $(".iframe").click(function(){
        var url=$(this).attr("href");
        var title=$(this).attr("title");
        var width=$(this).data("width");
        var height=$(this).data("height");
        var maxmin=$(this).data("maxmin");
        iframe(url,width,height,title,maxmin);
        return false;
    }); 
})
//通过框架打开页面
function iframe(url,w,h,title,maxmin){
    var width=w?w:"600px";
	var height=h?h:"600px";
	var maxmin=maxmin==false?false:true;
    var index=layer.open({
      type: 2,
      title: title,
      area: [width,height],
      fixed: true, //不固定
      maxmin: maxmin,
      content: [url],  
	  success: function(layero){
		  if(!title){			  
			  iframeTitle=window.frames["layui-layer-iframe"+index].document.title;
			  if(iframeTitle){
				  $("#layui-layer"+index).find(".layui-layer-title").html(iframeTitle);
			  }
		  }
		  //如果没有声明高度则框架高度自动
		  if(!h){
			  layer.iframeAuto(index);
		  }
	  }	
    });  	

}
//关闭iframe窗口页面
$('.close').click(function(){
    var index = parent.layer.getFrameIndex(window.name);
    parent.layer.close(index);
});
// js创建含数字字母的随机字符串
function randStr() {
	var text = "";
	var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	for (var i = 0; i < 10; i++)
		text += possible.charAt(Math.floor(Math.random() * possible.length));
	return text;
}